package com.meeting.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.meeting.dto.LoginDTO;
import com.meeting.dto.RegisterDTO;
import com.meeting.dto.UserQueryDTO;
import com.meeting.dto.UserStatusDTO;
import com.meeting.vo.CustomerVO;
import com.meeting.vo.PageResult;
import com.meeting.vo.Result;
import com.meeting.entity.Customer;
import org.springframework.stereotype.Service;

@Service
public interface CustomerService extends IService<Customer> {
    Result login(LoginDTO loginDTO);

    Result register(RegisterDTO registerDTO);

    //  新增：客户登出方法
    Result logout();
    
    /**
     * 分页查询客户列表
     * @param userQueryDTO 查询条件
     * @return 客户列表
     */
    PageResult<CustomerVO> listCustomers(UserQueryDTO userQueryDTO);
    
    /**
     * 更新客户状态
     * @param userStatusDTO 状态更新参数
     * @return 是否成功
     */
    boolean updateStatus(UserStatusDTO userStatusDTO);
    
    /**
     * 获取客户详情
     * @param id 客户ID
     * @return 客户详情
     */
    CustomerVO getCustomerDetail(Integer id);
}